package com.fowo.api.model.purchase;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 采购订单子表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class PurchaseOrderProductImportPo {

  /** 需求部门 */
  @ExcelProperty("需求部门")
  @Size(max = 50, message = "需求部门长度不能超过50")
  private String applicationDep;

  /** 图片 */
  @ExcelProperty("图片")
  @Size(max = 50, message = "图片长度不能超过50")
  private String picUrlName;

  /** 品名 */
  @ExcelProperty("*品名")
  @NotBlank(message = "品名不能为空")
  @Size(max = 500, message = "品名长度不能超过500")
  private String productIdName;

  /** sku */
  @ExcelProperty("sku")
  @Size(max = 50, message = "sku长度不能超过50")
  private String sku;

  /** 产品名称 */
  @ExcelProperty("产品名称")
  @Size(max = 50, message = "产品名称长度不能超过50")
  private String productName;

  /** 标签 */
  @ExcelProperty("标签")
  @Size(max = 50, message = "标签长度不能超过50")
  private String tag;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String sidIdShopName;

  /** 店铺名称 */
  @ExcelProperty("店铺名称")
  @Size(max = 50, message = "店铺名称长度不能超过50")
  private String sidShopName;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String msku;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 型号 */
  @ExcelProperty("型号")
  @Size(max = 50, message = "型号长度不能超过50")
  private String model;

  /** 采购数量 */
  @ExcelProperty("*采购数量")
  @NotBlank(message = "采购数量不能为空")
  @IntegerString(message = "采购数量数值格式不正确", label = "采购数量")
  private String applicationNum;

  /** 单价 */
  @ExcelProperty("单价")
  @DecimalString(message = "单价小数格式不正确", label = "单价")
  private String price;

  /** 含税单价 */
  @ExcelProperty("含税单价")
  @DecimalString(message = "含税单价小数格式不正确", label = "含税单价")
  private String taxPrice;

  /** 供应商报价 */
  @ExcelProperty("供应商报价")
  @Size(max = 50, message = "供应商报价长度不能超过50")
  private String psqId;

  /** 供应商报价 */
  @ExcelProperty("供应商报价")
  @Size(max = 50, message = "供应商报价长度不能超过50")
  private String psq;

  /** 税率 */
  @ExcelProperty("税率")
  @DecimalString(message = "税率小数格式不正确", label = "税率", min = 0)
  private String taxRate;

  /** 税额 */
  @ExcelProperty("税额")
  @DecimalString(message = "税额小数格式不正确", label = "税额")
  private String taxAmount;

  /** 含税单价 */
  @ExcelProperty("含税单价")
  @Size(max = 50, message = "含税单价长度不能超过50")
  private String psqPrice;

  /** 金额 */
  @ExcelProperty("金额")
  @DecimalString(message = "金额小数格式不正确", label = "金额")
  private String totalPrice;

  /** 价税合计 */
  @ExcelProperty("价税合计")
  @DecimalString(message = "价税合计小数格式不正确", label = "价税合计")
  private String amount;

  /** 到货量 */
  @ExcelProperty("到货量")
  @IntegerString(message = "到货量数值格式不正确", label = "到货量")
  private String quantityReceived;

  /** 待到货量 */
  @ExcelProperty("待到货量")
  @IntegerString(message = "待到货量数值格式不正确", label = "待到货量")
  private String quantityReceive;

  /** 退货量 */
  @ExcelProperty("退货量")
  @IntegerString(message = "退货量数值格式不正确", label = "退货量")
  private String quantityReturn;

  /** 预计到货时间 */
  @ExcelProperty("预计到货时间")
  @DateTimeString(message = "预计到货时间不是有效的时间日期格式")
  private String expectArriveTime;

  /** 到货日期 */
  @ExcelProperty("到货日期")
  @DateString(message = "到货日期不是有效的日期格式")
  private String arrivalDate;

  /** 采购单位 */
  @ExcelProperty("采购单位")
  @Size(max = 50, message = "采购单位长度不能超过50")
  private String applicationUnit;

  /** 库存单位 */
  @ExcelProperty("库存单位")
  @Size(max = 50, message = "库存单位长度不能超过50")
  private String inventoryUnit;

  /** 所属采购订单 */
  @ExcelProperty("所属采购订单")
  @Size(max = 50, message = "所属采购订单长度不能超过50")
  private String purchaseOrderIdSupplierName;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remarks;
}
